package analisadorLexico;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Alan L Cardoso
 * 
 */
public class Tabelas {

	private static List<String> listaDelimitadores = criarDelimitadores();

	/**
	 * Verifica se o caractere lido é delimitador ou não
	 * 
	 * @param caracterLido
	 * @return verdadeiro ou falso
	 */
	public static boolean ehDelimitador(String caracterLido) {
		if (listaDelimitadores.contains(caracterLido)) {
			return true;
		}
		return false;
	}

	/**
	 * Cria Tabela de Delimitadores
	 */
	private static List<String> criarDelimitadores() {
		List<String> delimitadores = new ArrayList<String>();
		delimitadores.add("{");
		delimitadores.add("}");
		delimitadores.add("(");
		delimitadores.add(")");
		delimitadores.add("[");
		delimitadores.add("]");
		delimitadores.add(".");
		delimitadores.add(";");
		delimitadores.add(":");
		delimitadores.add(",");
		delimitadores.add("|");
		delimitadores.add("::=");

		return delimitadores;
	}

	/**
	 * Adiciona novos delimitadores
	 * 
	 * @param valor
	 */
	public static void addDelimitadorLista(String valor) {
		if (!Tabelas.listaDelimitadores.contains(valor)) {
			Tabelas.listaDelimitadores.add(valor);
		}
	}

	/**
	 * Gets And Sets
	 */
	public static List<String> getListaDelimitadores() {
		return listaDelimitadores;
	}

}
